package com.dearbinge.data.api.address;

import com.dearbinge.data.pojo.address.Regions;
import com.dearbinge.data.pojo.address.UserAddress;

import java.util.List;

/**
 * 地址实现接口
 *
 * @author wes
 * @date 2019/2/14
 */
public interface AddressService {

    /**
     * 增加收货地址
     * @param userAddress 地址
     * @return 结果
     */
    Integer insertAddress(UserAddress userAddress);

    /**
     * 修改收货地址
     * @param userAddress 地址
     * @return 结果
     */
    Integer updateAddress(UserAddress userAddress);

    /**
     * 删除地址
     * @param id id
     * @return 结果
     */
    Integer deleteAddress(Integer id);

    /**
     * 根据id查询收藏地址
     * @param id id
     * @return 用户地址
     */
    UserAddress getAddressById(Integer id);

    /**
     * 根据用户id查询地址
     * @param userId 用户id
     * @return 地址集
     */
    List<UserAddress> listAddressByUserId(String userId);

    /**
     * 统计用户的地址数
     * @param userId 用户id
     * @return 总数
     */
    Integer countAddressByUserId(String userId);

    /**
     * 省市联动
     * @param id 城市表
     * @return 结果集
     */
    List<Regions> listProvinceAndCity(String id);
}
